package sistemaDeLaCarrera;


import java.util.List;
import java.util.Vector;

import java.util.Set;

import alumno.AlumnoEnCarrera;

public class MateriaDePlanDeEstudio {
	private Materia materia;
	private List<Materia> materiasCorrelativas = new Vector<Materia>();
	private PlanDeEstudio planDeEstudio;
	
	//CONSTRUCTORES
	
	public MateriaDePlanDeEstudio(PlanDeEstudio planDeEstudio, List<Materia> materiasCorrelativas, Materia materia) {
		this.materia = materia;
		this.materiasCorrelativas = materiasCorrelativas;
		this.planDeEstudio = planDeEstudio;
	}	
	
	
	//method
	
	public boolean puedeInscribirse(AlumnoEnCarrera alumnoEnCarrera){	
		Set<Materia> materiasAprobadas = alumnoEnCarrera.getMateriasAprobadas().keySet();
		List<Materia> comprobar = new Vector<Materia>();

		for (Materia materia : materiasAprobadas) {
			comprobar.add(materia);
		}
		
		return comprobar.containsAll(this.materiasCorrelativas);
	}
	
	
	//getter and setter
	
	
	public PlanDeEstudio getPlanDeEstudio() {
		return planDeEstudio;
	}
	public void setPlanDeEstudio(PlanDeEstudio planDeEstudio) {
		this.planDeEstudio = planDeEstudio;
	}

	public Materia getMateria() {		
		return materia;
	}


	public List<Materia> getMateriasCorrelativas() {
		return materiasCorrelativas;
	}


	public void setMateriasCorrelativas(List<Materia> materiasCorrelativas) {
		this.materiasCorrelativas = materiasCorrelativas;
	}


	public void setMateria(Materia materia) {
		this.materia = materia;
	}
	
	
	
}
